/* 全局样式定义 */

/* 自定义滚动条 */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background-color: #f1f1f1;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb {
  background-color: #c1c1c1;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background-color: #a8a8a8;
}

/* 页面过渡动画 */
.fade-enter-active,
.fade-leave-active {
  transition: opacity 0.3s ease;
}

.fade-enter-from,
.fade-leave-to {
  opacity: 0;
}

/* 全局卡片阴影和圆角 */
.el-card {
  transition: box-shadow 0.3s, transform 0.3s;
  border-radius: 8px;
  overflow: hidden;
}

.el-card:hover {
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
  transform: translateY(-2px);
}

/* 主内容区域样式 */
.content-container {
  padding: 16px;
  background-color: #f5f7fa;
  min-height: calc(100vh - 60px);
}

.page-container {
  margin-bottom: 20px;
}

.page-header {
  margin-bottom: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.page-title {
  font-size: 24px;
  font-weight: 600;
  color: #333;
}

/* 表格样式优化 */
.el-table {
  border-radius: 8px;
  overflow: hidden;
}

/* 表单项间距 */
.el-form-item {
  margin-bottom: 22px;
}

/* 按钮样式优化 */
.action-button {
  margin-left: 8px;
}

/* 分页组件居中 */
.pagination-container {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}

/* 响应式布局辅助类 */
.responsive-flex {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

@media (max-width: 768px) {
  .responsive-flex {
    flex-direction: column;
  }
}

/* 状态标签增强 */
.status-tag {
  min-width: 70px;
  text-align: center;
}

/* 进度条和时间线美化 */
.el-timeline-item__node {
  background-color: #409EFF;
}

.el-timeline-item__wrapper {
  padding-left: 28px;
}

/* 卡片内容区域统一样式 */
.card-content {
  padding: 16px;
}

/* 搜索表单区域样式 */
.search-form {
  margin-bottom: 20px;
  padding: 18px;
  background: white;
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}

.search-form-buttons {
  display: flex;
  justify-content: flex-end;
  margin-top: 8px;
}

/* 通用间距工具类 */
.mb-sm {
  margin-bottom: 8px;
}

.mb-md {
  margin-bottom: 16px;
}

.mb-lg {
  margin-bottom: 24px;
}

.mt-sm {
  margin-top: 8px;
}

.mt-md {
  margin-top: 16px;
}

.mt-lg {
  margin-top: 24px;
}

/* 项目和部署详情布局 */
.detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 16px;
}

.detail-item {
  margin-bottom: 12px;
}

.detail-label {
  color: #909399;
  font-size: 14px;
  margin-bottom: 4px;
}

.detail-value {
  font-size: 15px;
  color: #303133;
}

/* 日志区域样式 */
.log-container {
  background-color: #1e1e1e;
  color: #d4d4d4;
  border-radius: 6px;
  padding: 16px;
  font-family: 'Courier New', monospace;
  font-size: 14px;
  line-height: 1.5;
  overflow-x: auto;
  max-height: 500px;
  overflow-y: auto;
}

/* 错误文本样式 */
.error-text {
  color: #f56c6c;
}

/* 成功文本样式 */
.success-text {
  color: #67c23a;
}

/* 警告文本样式 */
.warning-text {
  color: #e6a23c;
}

/* 信息文本样式 */
.info-text {
  color: #909399;
}
